package org.dtrd.modules.record.service;

import org.dtrd.modules.record.entity.bean.DailyDietRecordBean;
import org.dtrd.modules.record.entity.bean.DailySigninDietStatus;
import org.dtrd.modules.record.entity.bean.DietListInfo;
import org.dtrd.modules.record.entity.bean.DietRecordBean;
import org.dtrd.modules.record.entity.po.DtrdEntRdSigninFoodRecord;

import java.util.Date;
import java.util.List;

/**
 * @author 萧
 * @date:2021-08-22 3:28 下午
 **/
public interface IFoodRecordService extends IRecordService<DtrdEntRdSigninFoodRecord> {

    /**
     * 查找指定时间分为内的饮食记录条数
     */
    Integer getFoodRecordDateCount(Integer patientId, String startDate, String endDate);

    /**
     * 保存饮食打卡记录
     */
    boolean saveFoodRecord(DietRecordBean dietRecordBean);

    /**
     * 获取每日饮食记录列表
     */
    List<DailyDietRecordBean> getAllGroupedFoodRecord(Integer patientId, String startDate, String endDate, Integer page, Integer pageSize);

    /**
     * 获取每日饮食记录列表 - 每个时段一个对象
     * 例如: 一天有早，中，晚 三条记录就有三个对象
     * @return
     */
    List<DietListInfo> getFoodRecordList(Integer patientId, String startDate, String endDate);

    /**
     * 获取患者某日的饮食打卡情况
     */
    DailySigninDietStatus getPatientDailySigninDietStatus(Integer patientId, Date dateYMD);
}
